﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace ZYL
{
    class Class1
    {
        static void Main(string[] args)
        {
            //1、生成0-5之间的随机小数，保留两位小数（必须是2位）。

            Random ran = new Random();
            for (int i = 0; i < 10; i++)
            {
                double d = ran.NextDouble() * 5;
                Console.WriteLine(d.ToString("f2"));
            }
            //2、生成4-7之间的随机小数，保留两位小数。

            Random ran1 = new Random();
            for(int i = 0; i < 10; i++)
            {
                double d1 = 4 + ran.NextDouble() * (7 - 4);
                Console.WriteLine(d1.ToString("f2"));
            }
            //3、生成一个随机整型数组，长度是10，内容是1 ~10，数组内容不重复。

            int[] arr = new int[10];
            Random ran2 = new Random();
            for (int i = 0; i < arr.Length; i++)
            {
                int d3 = ran.Next(1, 11);
                arr[i] = d3;
                for (int j = 0; j < i; j++)
                {
                    if (arr[i] == arr[j])
                    {
                        i = i - 1;
                    }
                }
            }
            foreach (int item in arr)
            {
                Console.Write(item + " ");
            }
            /*4、用户输入邮箱，请验证其合法性。
            1、邮箱一定需要 @符号
            2、根据 @符号分为两部分，“前半部分 @ 后半部分”，
            前半部分可以数字、字母、下划线、中划线、 .（符号点）。但是.（符号点）不能 用在开头也不能用在结尾；
            后半部分可以数字、字母、下划线、中划线、.（符号点），且符号点是必须的，至少出现一次，但不能连续出现，且符号点不能在开头，也不能在结尾。
            后半部分的符号点后面只能是：com、org、net、edu、mil、tv、biz、info*/

            Console.WriteLine("请输入你的邮箱地址");
            string str = Console.ReadLine();
                if (Regex.IsMatch(str, @"^(\w)+(\.\w)*@(\w)+(\.(com|org|net|edu|mil|tv|biz|info))$"))
                {
                    Console.WriteLine("正确");
                }
                else 
                {
                    Console.WriteLine("错误");
                }
            /*5、用户输入手机号码，请验证其合法性。
            手机号码规则：
            最开头 + 86可有可无
            13开头第三位是 0 - 9
            14开头第三位是 5或7
            15开头第三位是 0 - 9不包含4
            17开头第三位是 678中的一个
            18开头第三位是 0 - 9
            剩下的8位，都是0 - 9的数字。*/

            Console.WriteLine("请输入手机号码：");
            string str1 = Console.ReadLine();
            if (Regex.IsMatch(str, @"^((13)+[0-9]+\d{8})|((14)+(5|7)+\d{8})|((15)+((0|1|2|3)|[5-9])+\d{8})|((17)+(6|7|8)+\d{8}|((18)+[0-9]+\d{8}))$"))
            {
                Console.WriteLine("正确");
            }
            else
            {
                Console.WriteLine("错误");
            }
        }
    }
}
